package com.liuym.common.dubbo.classes.api;

import com.liuym.common.dubbo.classes.dto.ClassDTO;
import com.liuym.common.exception.ClassException;

import java.util.List;
import java.util.Map;

/**
 * @author LiuYiMing
 * @date 2018/9/17 16:59
 * @describe：
 */
public interface ClassesDubboService {
    /**
     * 获得所有班级
     *
     * @return
     */
    List<ClassDTO> getAllClass() throws ClassException;

    /**
     * 根据班号获得班级信息
     *
     * @param classNumber
     * @return
     */
    ClassDTO getClassByNumber(long classNumber) throws ClassException;

    /**
     * 根据班号获得班级信息
     *
     * @param year
     * @return
     */
    List<ClassDTO> getClassByYear(int year) throws ClassException;

    /**
     * 获得所有年级
     *
     * @return
     */
    List<Integer> getAllYear() throws ClassException;

    /**
     * 删除班级
     *
     * @param classNumber
     */
    int deleteClass(long classNumber) throws ClassException;

    /**
     * 更新班级
     *
     * @param classDTO
     */
    int updateClass(ClassDTO classDTO) throws ClassException;


    /**
     * 添加班级
     *
     * @param classDTO
     */
    int addClass(ClassDTO classDTO) throws ClassException;

    /**
     * 批量添加学生信息
     *
     * @param classDTOList
     * @return
     * @throws ClassException
     */
    Map<String, Object> addClassList(List<ClassDTO> classDTOList) throws ClassException;

    /**
     * 重置班级分数
     */
    void updateClassScoreTo80() throws ClassException;
}
